The present invention relates to optical computers which imitate nerve networks to realize a neurocomputer which has an association and/or pattern recognition function.
A conventional optical associative neurocomputer such as shown in Denshi Joho Tsushin Gakkai Hikari-Ryoshielectronics Kenkyukai Shiryo OQE87-174 (1988) [Electronic Information Communications Society Opto-Quantum Electronics Study Group Papers] is shown in FIG. 10. This optical neurocomputer consists of a pair of light emitting element (LEE) arrays 1a and 1b; a pair of optical masks 2a and 2b; a pair of light receiving element (LRE) arrays 3a and 3b; differential amplifiers 4; comparators 5; an incomplete information input 6; and a complete information output 7, all interconnected as shown.
In operation, the LEE arrays 1a and 1b emit fan-shaped light beams V.sub.j to the optical masks 2a and 2b. The respective light emitting elements of each LEE array 1a or 1b are turned on or off to represent a logic 1 or 0, thus representing a vector V=(V.sub.1, V.sub.2, . . . , V.sub.i, . . . , V.sub.n). The optical masks 2a and 2b are divided into N.times.N elements each having a different light transmission factor, thus representing a matrix T=[T.sub.ij ] (hereinafter "matrix T.sub.ij "). Each LRE array 3a or 3b represents a vector U=(U.sub.1, U.sub.2, . . . , U.sub.i, . . . U.sub.n). When the j-th light emitting element emits light to the j-th row of the optical mask and the i-th light receiving element receives light from the i-th column of the optical mask, the following vector matrix operation is performed ##EQU1##
This operation will be described in more detail by using FIG. 10, wherein the matrix T.sub.ij has 25 (=5.times.5) elements, and the vector V five elements. ##EQU2## Substituting these into Eq. (1) gives ##EQU3## Transforming Eq. (2) gives ##EQU4##
In Eq. (3), U.sub.i is expanded for i from 1 to 5. That is, for i=1, Eq. (1) is ##EQU5## Expanding Eq. (4) for j from 1 to 5 gives EQU U.sub.1 =T.sub.11 V.sub.1 +T.sub.12 V.sub.2 +T.sub.13 V.sub.3 +T.sub.14 V.sub.4 +T.sub.15 V.sub.5 5
This is the same equation as the first one of Eq. (3).
In Eq. (5), U.sub.1 is the sum of products of the respective elements (T.sub.11, T.sub.12, T.sub.13, T.sub.14, T.sub.15) of the matrix T.sub.ij and the respective elements (V.sub.1, V.sub.2, V.sub.3, V.sub.4, V.sub.5) of the vector V. That is, U.sub.1 is determined by performing a product and sum operation on the respective elements T.sub.ij of the matrix T.sub.ij and the respective elements of the vector V. By repeating this up to U.sub.5, the vector matrix operation on the matrix T.sub.ij and the vector V is performed.
The fact that the intensity of transmitted light depends on the light transmission factor of T.sub.11 and the intensity of incident light V.sub.1 makes the product operation T.sub.11 V.sub.1 possible. Similarly, the respective products (T.sub.12 V.sub.2, T.sub.13 V.sub.3, T.sub.14 V.sub.4, T.sub.15 V.sub.5) are outputted from the optical mask 2a for the respective light transmission factors T.sub.12, T.sub.13, T.sub.14, T.sub.15 and the respective light intensities V.sub.2, V.sub.3, V.sub.4, V.sub.5. A light receiving element of the LRE array 3a collects these outputs to perform a sum operation for U.sub.1. By repeating this up to U.sub.5, the vector matrix operation is performed.
In contrast to the conventional Neumann type electronic computers which perform respective product operations and sum operations in sequence, the optical computer is able to perform an N.times.N matrix operations in parallel by applying and collecting light as described above. In addition, the computation time of the conventional electronic computer increases with the increasing number of matrix elements, but that of the optical computer remains constant in principle as far as the number of matrix elements is increased.
Before a neurocomputer is described, the function of a neuron will be described briefly with reference to FIGS. 11A-11C. Neurons are considered to be a nonlinear element having a multiple-input/single-output type threshold characteristic. That is, when the membrane potential which is determined by the sum of input signals is below a certain value (threshold value), the output of the neuron is 0 but, when the membrane potential is above the threshold value, it generates a pulse to send a signal to other neurons. There are two types of connection between neurons (synapse connection); i.e., an exciting connection which raises the membrane potential of the other neuron as shown by a black dot in FIG. 11B and a depressing connection which reduces the potential as shown by a white dot in FIG. 11B.
In a mathematical model, it is assumed that the output of a neuron has an analog value ranging from 0 to 1 according to the degree of excitation. The output of the i-th neuron, U.sub.i, is approximately by the following equation ##EQU6## wherein V.sub.j is the output of the j-th neuron connected to the i-th neuron (j=1, 2, . . . , N), T.sub.ij the strength of synapse connection, and I.sub.i the its own threshold value.
The positive and negative values of T.sub.ij, which indicates the degree of an influence of the j-th neuron upon the i-th neuron, represent the exciting and depressing synapse connections, respectively. g is a monotonous saturation function such as a sigmoid function shown below ##EQU7## The function g(x) is shown in FIG. 11C. If x.sub.0 .fwdarw.&gt;0, then g(x) asymptotically approaches a unit step faction. The energy of a network of these N neurons is given by ##EQU8##
As shown in FIG. 12, the network of neurons connected to each other, with the output signal of each neuron fed back to the other neurons, is called "feedback type model." In this model, there is no distinction between signal input neurons and signal output neurons. One representative example of this model is an associative memory. The associative memory herein used means any device which, when incomplete information, part of which is unclear or lost, is inputted, associates the incomplete information with the closest complete information which has been stored and outputs the complete information.
Now, let M be the number of pieces of complete information stored and V(m)=( V1(m), V1(m), . . . , V1(m)) be the binary vector (1, 0) for the neuron state with respect to the m-th complete information. If the correlational matrix T.sub.ij, which represents the synapse connections, is defined by the Hopfield model as follows ##EQU9## it is possible to prove the correspondence between the phenomenon that something has been stored and the stable state of a network or the minimum value of the energy E given by Eq. (8). Consequently, if the stored information is considered to be complete information, when a given incomplete information is inputted as a neuron state vector, the neuron state vector changes through the nonlinear threshold process of Eq. (6) and the feedback to the stored information which is closest to the inputted information so that the vector at the stable point is outputted. This is the principle of an associative memory.
In order to provide precise association, (1) the number of neurons, N, should be sufficiently larger than the number of pieces of information, M; (2) there should be no strong correlation between the respective storage condition vectors V(m) (m=1, 2, . . . , M); and (3) there should be orthogonality. Even if these conditions are met, the nonlinear process by a neuron makes the energy function E have many shallow local valleys or local minima as well as global minima which correspond to the stored information in the N dimensional vector space. The local minima even can trap the global minima under certain initial conditions. In the neurocomputer, information is stored as connection strengths T.sub.ij between respective neurons. These connection strengths T.sub.ij are stored as light transmission factors in terms of light. That is, in the optical associative neurocomputer, information is stored as transmission factors of the optical masks 2a and 2b. The information storage rules are based on the Hopfield model and given by Eq. (9) as follows ##EQU10##
This will be described in more detail with reference to FIGS. 13A and 13B, wherein the connection strengths T.sub.ij are determined from the stored information. In FIG. 13A, if each of the letters A, J, and E is expressed by 32 elements in a 6.times.6 element arrangement except for the four corners, three pieces of the information stored about the letter A, J, and E are given by storage state vectors V(A), V(J), and V(E), respectively, as shown in FIG. 13B. Each vector has 32 binary states, wherein 0 and 1 represent white and black dots, respectively. Since N=32 and M=3, the connection strengths T.sub.ij are given by ##EQU11##
For example, the connection strength T.sub.11 is given by ##EQU12## The value of T.sub.ij calculated in this way is either 0, +1 or +3 for all of i=1-32 and j=1-32. These values represent the connection strengths or transmission factors. The matrix T.sub.ij or optical masks 2a and 2b, which is made in the form of a 5.times.5 array in FIG. 10 for the purposes of simplicity, needs a 32.times.32 array in this example. As a result, the number of signal lines required for the LEE arrays 1a and 1b and the LRE arrays 3a and 3b is 32.
Since optical devices are unable to handle negative values, two optical systems are provided corresponding to the positive values T.sub.ij (+) and negative values T.sub.ij (-) of a matrix T.sub.ij as shown in FIG. 10. The difference in output between the LRE arrays 3a and 3b, U.sub.i, is produced by the differential amplifier 4 as follows EQU U.sub.i =U.sub.i (+)-U.sub.i (-)
The output is subjected to a threshold process in the comparator 5 as follows ##EQU13## The output is then fed back to the LEE arrays 1a and 1b. Thus, by storing the three of information in the optical masks 2a and 2b corresponding to the letters A, J, and E when incomplete information, such as A', is inputted to the LEE arrays 1a and 1b, the information about A closest to the inputted information about A' is displayed as a complete information output after repeating this feedback. In other words, the system energy takes the minimum value at the stored information about A, J, or E. When incomplete information is given, the entire system changes (the on/off state of the LEE array changes) so as to take the minimum value of energy around the inputted information. This is an associative function.
A basic optical system is shown in FIGS. 14A and 14B. The basic optical system includes a convex lens 26 and slits 27. The respective light beams from the LEE array 1a or 1b are made substantially parallel by the slits 27 and strike the optical mask 2a or 2b which makes a matrix T. The optical mask 2a or 2b is an ordinary emulsion type glass dry plate mask. The connection strength T.sub.ij is expressed in terms of the area of a portion through which light passes. The convex lens 26 collimates the light beams from the optical mask 2a or 2b and collects them on the LRE array 3a or 3b.
In the above conventional optical computer, information is stored as the transmission factors of the optical mask so that when the stored contents are to be changed, it is necessary to change the optical mask itself. That is, it is impossible to change information in a dynamic fashion. In addition, the light beam from the LEE array must be deflected in a fan shape and then collected on the LRE array so that a complex lens system is required.